module.exports = function (grunt) {
  grunt.initConfig({
    concat: { // 任务名
      options: {
        separator: ';',
      },
      dist: {
        src: ['src/js/*.js'], // 源文件
        dest: 'build/js/build.js', // 输出目的地
      },
    },
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> - v<%= pkg.version %> - ' +
          '<%= grunt.template.today("yyyy-mm-dd") %> */'
      },
      build: {
        files: {
          'build/js/build.min.js': ['build/js/build.js']
        }
      }
    },
    jshint:{
      options:{
        jshintrc:'.jshintrc' // 指定配置文件
      },
      build: ['Gruntfile.js','src/js/*.js'] // 指定检查的文件
    },
    cssmin: {
      options: {
        mergeIntoShorthands: false,
        roundingPrecision: -1
      },
      build: {
        files: {
          'build/css/build.min.css': ['src/css/*.css']
        }
      }
    },
    watch:{
      scripts:{
        files: ['src/js/*.js','src/css/*.css'],
        tasks:['concat','jshint','uglify','cssmin'],
        options: {spawn: false}
      }
    }
  })
  grunt.loadNpmTasks('grunt-contrib-concat') // 插件加载
  grunt.loadNpmTasks('grunt-contrib-uglify') // 插件加载
  grunt.loadNpmTasks('grunt-contrib-jshint') // 插件加载
  grunt.loadNpmTasks('grunt-contrib-cssmin') // 插件加载
  grunt.loadNpmTasks('grunt-contrib-watch') // 插件加载
  // 默认任务是同步执行的
  grunt.registerTask('default', ['concat', 'uglify','jshint','cssmin'])
  // 生产环境不用启动watch 只有开发环境才启动watch
  grunt.registerTask('dev-watch',['default','watch'])
}